package com.iengoo.day06.dao;

import java.sql.*;

/**
 * @author zpym
 * @CopyRight (C) http://www.iengoo.com
 * @brief 操作 ticket 数据库表
 * @email 122162005@qq.com
 * @date 2019-01-16 14:39
 */
public class TicketDao {
    /**
     * 增加车票信息
     *
     * @param startTime 发车时间
     * @param startStation 起点站
     * @param stopStation 终点站
     * @param price 价格
     * @param stock 库存
     * @param type 车辆类型
     */
    public void add(String startTime, String startStation, String stopStation, int price, int stock, String type) {
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            // 2. 创建数据库链接
            Connection conn = DriverManager.getConnection("jdbc:mysql://192.168.95.109:3306/station", "root", "liwei");
            String sql = "insert into ticket (start_time, start_station, stop_station, price, Surplus_ticket, type) values " +
                    "('" + startTime +  "', '" + startStation + "', '" + stopStation + "', "+ price +", " + stock + ", '"+ type +"')";

            System.out.println(sql);
            // 3.1 创建编译语句
            PreparedStatement statement = conn.prepareStatement(sql);

            int i = statement.executeUpdate();

            System.out.println(i);

            statement.close();
            conn.close();

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }


    }

    /**
     * 删除数据库中指定id的数据
     *
     * @param id
     */
    public void delete(int id) {

    }

    /**
     * 修改车票信息
     */
    public void update() {

    }

    /**
     * 根据id查询车票信息
     *
     * @param id
     */
    public void find(int id) {
        /** 加创执析链
         * 1. 加载驱动（相当于加载mysql驱动包中的客户端）
         * 2. 创建数据库链接
         * 3. 执行编译语句（包含创建）
         * 4. 解析结果集
         * 5. 关闭链接
         */
        try {
            // 1. 加载驱动
            Class.forName("com.mysql.cj.jdbc.Driver");
            // 2. 创建数据库链接
            Connection conn = DriverManager.getConnection("jdbc:mysql://192.168.95.109:3306/station", "root", "liwei");
            String sql = "SELECT * FROM ticket WHERE id=" + id;
            // 3.1 创建编译语句
            PreparedStatement statement = conn.prepareStatement(sql);
            // 3.2 执行编译语句
            ResultSet rs = statement.executeQuery();

            // 4. 解析结果集
            if (rs.next()) {
                String startStation = rs.getString("start_station");
                String stopStation = rs.getString("stop_station");
                System.out.println("起点站：" + startStation + ", 终点站：" + stopStation);
            }

            // 5. 关闭链接
            rs.close();
            statement.close();
            conn.close();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }

        System.out.println("数据库查询完成");

    }
}
